package cn.dwy2002.binaryhandwritingserver.mapper;


import cn.dwy2002.binaryhandwritingserver.pojo.po.Tags;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author 杜伟毅
 * @version 1.0
 * @since 2025/05/28
 */
@Mapper
public interface TagsMapper {
    /**
     * 根据id查询标签
     *
     * @param id 标签id
     * @return 返回对应ID的标签对象，若不存在则返回null
     * @author 杜伟毅
     * @since 2025/5/28 0028 20:56
     */
    Tags selectById(Long id);

    /**
     * 查询所有标签
     *
     * @return 返回所有标签的列表，若不存在则返回空列表
     * @author 杜伟毅
     * @since 2025/5/28 0028 20:56
     */
    List<Tags> selectAll();

    /**
     * 根据标签名称查询标签
     *
     * @param tagName 标签名称
     * @return 返回对应名称的标签对象，若不存在则返回null
     * @author 杜伟毅
     * @since 2025/5/28 0028 20:56
     */
    Tags selectByName(String tagName);

    /**
     * 插入新标签
     *
     * @param tags 要插入的标签对象
     * @author 杜伟毅
     * @since 2025/5/28 0028 20:56
     */
    void insert(Tags tags);

    /**
     * 更新标签信息
     *
     * @param tags 要更新的标签对象
     * @author 杜伟毅
     * @since 2025/5/28 0028 20:56
     */
    void update(Tags tags);

    /**
     * 根据id删除标签
     *
     * @param id 要删除的标签id
     * @author 杜伟毅
     * @since 2025/5/28 0028 20:56
     */
    void deleteById(Long id);
}
